package com.example.event_resource_java.authority.server.resourceLibrary;


import com.baomidou.mybatisplus.extension.service.IService;
import com.example.event_resource_java.authority.dao.EventResourceAllocationDO;
import com.example.event_resource_java.authority.domain.resourceLibrary.SecretKey;
import com.example.event_resource_java.commons.util.ApiResult;

import java.util.List;
import java.util.Map;

/**
 * (SecretKey)表服务接口
 *
 * @author makejava
 * @since 2024-05-09 10:24:37
 */
public interface SecretKeyService extends IService<SecretKey> {

    /**
     * 新增秘钥信息
     * @param secretKey
     * @return
     */
    ApiResult saveSecretKey(SecretKey secretKey);

    /**
     * 修改秘钥信息
     * @param secretKey
     * @return
     */
    ApiResult editSecretKey(SecretKey secretKey);

    /**
     * 分页查询秘钥信息
     * @param secretKey
     * @return
     */
    ApiResult getSecretKyPage(SecretKey secretKey);

    /**
     * 根据资源id查询详情
     * @param id
     * @return
     */
    SecretKey getSecretKy(Long id);


    /**
     * 根据资源id查询详情
     * @return
     */
    Map<String, List<EventResourceAllocationDO>> getAddSecretKy();

    /**
     * 每天凌晨效验秘钥是否过期
     */
    void timingEffect();


    /**
     * 根据秘钥id删除秘钥，删除相关秘钥资源
     * @param id
     * @return
     */
    ApiResult removeById(Long id);

    /**
     * 根据用户id验证是否拥有资源权限
     * @param allocationId
     * @return
     */
    Boolean permissionVerification(Long allocationId);

    /**
     * 判断是否全部购买
     * @return
     */
    Boolean purchaseAll();
}

